package com.example.homework.dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.example.homework.Constants;
import com.example.homework.pojo.User;

/**
 * @作者 zhaichenji
 * @创建日期 2022/4/7 20:57
 * @包名 com.example.homework
 * @版本 1.0
 * @描述 实现用户的注册以及注册时的用户名查重
 */
public class UserDao extends MySQLiteOpenHelper {
    public UserDao(Context context) {
        super(context);
    }

    /**
     * 用户注册信息插入数据库
     * @param user
     * @return
     */
    public long insertData(User user){
        SQLiteDatabase db = getWritableDatabase();
        ContentValues values = new ContentValues();

        values.put("username",user.getUsername());
        values.put("password",user.getPassword());

        long insert = db.insert(Constants.TABLE_NAME_USER, null, values);
        return insert;
    }

    /**
     * 对注册的用户名进行查重
     * @param user
     * @return
     */
    public boolean DuplicateUsername(User user){
        SQLiteDatabase db = getWritableDatabase();
        String username = user.getUsername();
        String QUERY_USER_EXIST = "select * from "+Constants.TABLE_NAME_USER+" where username=?";
        Cursor cursor = db.rawQuery(QUERY_USER_EXIST, new String[]{username});
        while(cursor.moveToNext()){
            //查询有记录则说明用户名已经存在，用户不可以使用该用户名
            return false;
        }
        //没有记录返回true,说明用户可以使用该用户名
        return true;
    }
}
